//
//  ZXSetDataProtocol.h
//  Baby
//
//  Created by simon on 16/1/14.
//  Copyright © 2016年 simon. All rights reserved.
//
// 2018.01.09 新增协议方法
// 2021.04.11 新增协议方法

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

@protocol ZXSetDataProtocol <NSObject>

@optional


/// 设置数据
/// @param data 源数据
- (void)setData:(nullable id)data;

- (void)setData:(nullable id)data withIndexPath:(nullable NSIndexPath *)indexPath;



/**
 根据data数据计算动态计算高度；

 @param data 数据
 @return 高度；
 */
- (CGFloat)getCellHeightWithContentData:(nullable id)data;


/**
 根据indexPath和data 数据（可以是dataArray或model）计算高度

 @param indexPath indexPath
 @param data data数据
 @return 计算的高度
 */
- (CGFloat)getCellHeightWithContentIndexPath:(nullable NSIndexPath *)indexPath data:(nullable id)data;



/// 设置获取返回静态数据

/// 设置获取UICollectionView的footerView/headerView-UICollectionReusableView，
/// tableViewCell/tableViewHeaderView/tableViewFooterView的height
+ (CGFloat)getHeight;

/// 设置获取返回collectionView的section
+ (UIEdgeInsets)sectionInset;

/// 设置获取返回collectionViewCell的size
+ (CGSize)itemSize;

/// 设置获取返回collectionView的section的间距
+ (CGFloat)minimumInteritemSpacing;

+ (CGFloat)minimumLineSpacing;


@end

NS_ASSUME_NONNULL_END
